graph TD
  A[当日活跃用户表dws_user_activity_day] --> B{首日处理?}
  B -->|是| C[初始化所有用户为未闭合区间]
  B -->|否| D[获取昨日区间数据]
  D --> E[获取当日活跃设备]
  E --> F[FULL JOIN关联历史与当前]
  F --> G{用户状态判断}
  G -->|持续活跃| H[保持end_login_date=9999-12-31]
  G -->|活跃转沉默| I[设置end_login_date=昨日日期]
  G -->|沉默转活跃| J[创建新区间记录]
  G -->|新用户| K[初始化新区间]
  H & I & J & K --> L[合并结果写入当日分区]